package com.ruoyi.app.model.vo;

import com.alipay.api.domain.AuthInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author 侯存路
 * @description
 * @since 2020/10/22 17:13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GetUserInfoRes {


    @ApiModelProperty(notes = "用户基本资料")
    private BasicInformation basicInfo;


    @ApiModelProperty(notes = "用户更多资料")
    private MoreInfo moreInfo;


    @ApiModelProperty(notes = "择偶意向")
    private MateIntention mateIntention;


    @ApiModelProperty(notes = "认证信息")
    private AuthInfo authInfo;


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class AuthInfo {

        @ApiModelProperty(notes = "* 实名认证\n" +
                "     * 0: 未认证\n" +
                "     * 1: 审核中\n" +
                "     * 2: 审核失败\n" +
                "     * 3: 审核失败")
        private Integer realNameState;


        @ApiModelProperty(notes = "* 住房认证\n" +
                "     * 0: 未认证\n" +
                "     * 1: 审核中\n" +
                "     * 2: 审核失败\n" +
                "     * 3: 审核失败")
        private Integer realHouseState;


        @ApiModelProperty(notes = "* 车辆认证\n" +
                "     * 0: 未认证\n" +
                "     * 1: 审核中\n" +
                "     * 2: 审核失败\n" +
                "     * 3: 审核失败")
        private Integer realCarState;
    }


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class MateIntention {

        @ApiModelProperty(notes = "择偶年龄：18-25")
        private String claimCarPurchase;

        @ApiModelProperty(notes = "居住地")
        private String claimPlace;

        @ApiModelProperty(notes = "婚姻状况")
        private String claimMaritalStatus;

        @ApiModelProperty(notes = "职业")
        private String claimProfession;

        @ApiModelProperty(notes = "身高 165-170")
        private String claimHeight;

        @ApiModelProperty(notes = "学历")
        private String claimEducation;

        @ApiModelProperty(notes = "月收入")
        private String claimMonthlyIncome;
    }


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class MoreInfo {

        @ApiModelProperty(notes = "购车情况")
        private String carPurchase;

        @ApiModelProperty(notes = "购房情况")
        private String housePurchase;

        @ApiModelProperty(notes = "是否有小孩")
        private String baby;

        @ApiModelProperty(notes = "是否想要小孩")
        private String giveBirth;

        @ApiModelProperty(notes = "何时结婚")
        private String marry;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class BasicInformation {

        @ApiModelProperty(notes = "头像")
        private String headPortrait;

        @ApiModelProperty(notes = "个人介绍")
        private String introduction;

        @ApiModelProperty(notes = "个人图片")
        private String picture;

        @ApiModelProperty(notes = "微信号")
        private String weChat;

        @ApiModelProperty(notes = "手机号")
        private String phone;

        @ApiModelProperty(notes = "是否是会员 0:否 1:是")
        private int member;

        @ApiModelProperty(notes = "昵称")
        private String nickName;

        @ApiModelProperty(notes = "性别")
        private String sex;

        @ApiModelProperty(notes = "年龄")
        private int age;

        @ApiModelProperty(notes = "籍贯")
        private String hometown;

        @ApiModelProperty(notes = "居住地")
        private String place;

        @ApiModelProperty(notes = "婚姻状况")
        private String maritalStatus;

        @ApiModelProperty(notes = "职业")
        private String profession;

        @ApiModelProperty(notes = "身高")
        private double height;

        @ApiModelProperty(notes = "学历")
        private String education;

        @ApiModelProperty(notes = "月收入")
        private double monthlyIncome;
    }


}
